home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)tk.d64
/
mortgage.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
3KB
|
102 lines
100 DIMM$(12),Z$(12):FORI=1TO12:READM$(I):NEXTI:N=0:POKE53281,1
110 PRINTCHR$(147);:GOTO930
120 REM * VERSATILE MORTGAGE CALCULATOR *
130 REM * BY JIM BUTTERFIELD *
140 REM * TPUG MAGAZINE. MARCH 1985 *
150 REM * MODIFIED BY GERRY PENROSE *
160 REM * MAY 1985 *
170 REM * N$=" NAME ":I1=RATE:A1=AMNT :Y=NO PYMTS:Z$=" MONTH ":Y3= YEAR
180 REM * LINES 170 AND 190(null)CAN BE USED TO PERMANENTLY PLACE DATA *
190 REM * P1=427:N1=12 *
200 PRINT"[147]"
210 N1=12:Z$=Z$:Y=12:GOSUB870
220 PRINT"[145][205]ORTGAGE: ";N$
230 REM: PRINT"[193]NNUAL RATE (%):";I1
240 I=(1+I1/200)^(1/6)-1:REM CANADIAN CALCULATION
250 A=INT(A1*100+.5)
260 PRINT"[193]MOUNT AT START:";A1;"[157] - ";"@";I1;"%"
270 PRINT"[206]UMBER OF PAYMENTS:"Y
280 PRINT"[205]ONTH OF FIRST PAYMENT: (JAN)";Z$;:IFLEN(Z$)<3THENSTOP
290 FORJ=1TO1:NEXTJ:PRINTY3
300 P=INT(P1*100+.5)
310 PRINT"[158][208] TO [208]RINT. [211] TO [211]TOP. [211]PACE TO [196]ISPLAY ";
320 PRINT"[146][154]";
330 GETG$:IFG$=""GOTO330
340 IFASC(G$)=83THENEND
350 P9=0:IFASC(G$)=80THENP9=4:OPEN4,P9:Q$=CHR$(17):PRINT#4,Q$;"";N$
360 PRINT" [194]ALANCE="A/100;"@"I1;"% ";Z$;Y3;" "
370 IFP9THENPRINT#4:PRINT#4,Q$"[194]ALANCE= ";A/100;" @ ";I1;"% ";M$;Y3
380 I3=0:P3=0
390 PRINT"[145] [205]TH [201]NTEREST [208]AYMENT [194]ALANCE"
400 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
410 PRINT"[145]";:IFP9THENPRINT#4
420 IFP9THENPRINT#4,Q$;"[205]TH [201]NTEREST [208]AYMENT [194]ALANCE"
430 IFP9THENPRINT#4
440 REM ******************************
450 I2=INT(I*A+.5):IFP>A+I2THENP=A+I2
460 I3=I3+I2:P3=P3+P:A=A+I2-P
470 M$=CHR$(ASC(M$(N))+128)+MID$(M$(N),2):PRINTTAB(2)M$;
480 IFP9THENPRINT#4,Q$;TAB(4)M$;" ";
490 X=I2:GOSUB720:IFP9THENPRINT#4," ";
500 X=P:GOSUB720:IFP9THENPRINT#4," ";
510 X=A:GOSUB710:PRINT:IFP9THENPRINT#4
520 N1=N1-1:IFN1=0THENGOTO580:P=INT(P1*100+.5)
530 Y=Y-1:N=N+1
540 IFN<13ANDY>0ANDA>0GOTO450
550 REM *******************************
560 IFY=0ORA<=0GOTO580
570 Y3=Y3+1:N=1:GOTO450
580 PRINT:PRINT:IFP9THENPRINT#4:PRINT#4
590 PRINTTAB(2)"TOT INT. ";"TO DATE";
600 IFP9THENPRINT#4,Q$;TAB(2)"[212]OTAL [201]NT. TO DATE ";
610 Z=I3+Z:GOSUB640:IFP9THENPRINT#4
620 IFP9THENPRINT#4:GOTO700
630 GOTO700
640 L=8
650 A$=RIGHT$(S$+STR$(INT(Z)),L)
660 IFZ=0THENA$=RIGHT$(S$+"00",L)
670 Y$=LEFT$(A$,LEN(A$)-2)+"."+RIGHT$(A$,2)
680 PRINTTAB(3)Y$;" ";:IFP9THENPRINT#4,Y$;
690 RETURN
700 CLOSE4:GOTO 780
710 L=10:GOTO730
720 L=8
730 A$=RIGHT$(S$+STR$(INT(X)),L)
740 IFX=0THENA$=RIGHT$(S$+"00",L)
750 X$=LEFT$(A$,LEN(A$)-2)+"."+RIGHT$(A$,2)
760 PRINTX$;" ";:IFP9THENPRINT#4,X$;
770 RETURN
780 POKE646,0:PRINT"[159][212]O [193]DD [208]AYMENTS [208]RESS [193].- [195] TO CONTINUE [146] "
790 PRINT"[154]"
800 GETA$:IFA$=""THEN800
810 IFA$="A"THENPRINTCHR$(147):INPUT"[201]NPUT AMMOUNT TO ADD ";B
820 A1=X/100-B:Z$=Z$
830 CLOSE4:GOTO200
840 IFA$="C"THENCLOSE4:N1=12:Z$=Z$:Y=12:GOTO200
850 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
860 END
870 M=127:M1=ASC(Z$)ANDM:M2=ASC(MID$(Z$,2))ANDM:M3=ASC(MID$(Z$,3))ANDM
880 Z$=CHR$(M1)+CHR$(M2)+CHR$(M3)
890 FORJ=1TO12:IFZ$=M$(J)GOTO910
900 NEXTJ
910 N=J
920 RETURN
930 GOSUB1040
940 INPUT"NAME";N$
950 INPUT"RATE";I1
960 INPUT"AMOUNT";A1
970 INPUT"NO OF PAYMENTS";Y
980 INPUT"STARTING MONTH";Z$
990 INPUT"STARTING YEAR";Y3
1000 INPUT"MONTHLY PAYMENT";P1
1010 INPUT"NO PERIODS BEFORE REDUCING";N1
1020 PRINT"":
1030 Z$=Z$:N1=12:Y=12:GOTO200
1040 POKE214,12:PRINT
1050 POKE211,10:PRINT"[158]PLEASE READ THIS"
1060 PRINT:PRINT"[158]NUMBER OF PAYMENTS SHOULD ALWAYS BE 12"
1070 PRINT:PRINT"[158]NUMBER OF PERIODS SHOULD ALSO BE 12 "
1080 PRINT:PRINT"[158]SO THAT CAPITAL CAN BE ADDED ONCE EVERY"
1090 PRINT:PRINT"[158]YEAR. THESE ARE LEFT OPEN FOR EXPERIMENT."
1100 PRINT"[154]":RETURN